﻿// Inner Fire 游戏引擎库
// CharaController - 角色控制器
//
// Copyright (c) 2025 by 尔西大帝. All rights reserved.
//
// 所属层级：应用层（4）
// 对应Unity中的CharacterController。角色移动的时候，使用这个进行移动。
// 然后根据物理的性质，进行移动的处理。
//
// Author: 尔西大帝
// Email: 2670613871@qq.com
// Created: 2025-06-17

#pragma once

#include <game/component/component.h>
#include <graphics/transform_def.h>

namespace ifire::game {

class CharaController : public Component {
public:
  CharaController(GameObject* game_object);
  CharaController(const CharaController& lhs) = delete;
  CharaController& operator=(const CharaController& lhs) = delete;
  ~CharaController() override;


  // 每帧更新
  void FixedUpdate(float delta_time) override;
  // 延迟更新
  void LateUpdate(float delta_time) override;
  

  // 获得此项目的类型
  static ikit::sstr ComponentType();
  // 获得Meta名称
  const char* GetMetaName() override;

private:
};

} // namespace ifire::game